<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

</head>
<body>
    <h1>数组的扩展运算</h1>
    <ul>
        <li>可以用于合并多个数组</li>
        <li>可以搭配rest参数的函数使用，常用：arr1.push(...arr2)，把arr2的所有元素，追加到arr1中。</li>
    </ul>
    <script>
        let arr = [1,2,3];
        console.log(...arr); // 1 2 3

        // 数组的扩展运算，可以用于生成新数组
        let arr2 = [...arr,4];
        console.log(arr2);// [1,2,3,4]

        // 也可以用于合并数组
        let arr3 = [...arr,...arr2];
        console.log(arr3);// [1,2,3,1,2,3,4]

        // 因为ES6对字符串装载了遍历函数，所以字符串也是“伪数组”对象;
        let arr4 = [..."Hello"];
        console.log(arr4); // ['H','e','l','l','o']

        let arr5 = [];
        arr4 = [1,2,3];

        arr5.push(arr4);
        console.log(arr5);  // [[1,2,3]]

        //还原arr5 
        arr5 = [];
        arr5.push(...arr4);
        console.log(arr5);  // [1,2,3];


        // 数组的扩展运算符，可以搭配rest参数一起使用
        function show(...item) {
            console.log("show = ",item);
        }

        show(arr5); // [[1,2,3]]
        show(...arr5); // [1,2,3];

    </script>
</body>
</html>